<!-- 区域节点 -->

<template>
  <div class="MapPoint-AreaNode">
    <span :class="nodeClass">{{ data.name }}</span>

    <BtnText v-if="hasEdit" @click="bind_openEdit(map_info)"><i class="el-icon-edit" /></BtnText>

    <BtnText v-if="hasDel" @click="bind_openDel(map_info)"><i class="el-icon-close" /></BtnText>
  </div>
</template>

<script>
// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import props from './props'

// ============================== 导出组件 ============================== //

export default {
  /**
   * 名称定义 (实际使用名称)
   */
  name: 'AreaNode',

  /**
   * 混入列表 (配置选项合并)
   */
  mixins: [CORE.mixWeb('bind', 'bind_'), CORE.mixInfo('map', 'map_')],

  /**
   * 属性注册 (抽取以便查阅)
   */
  props,

  /**
   * 计算属性 (慎用箭头函数)
   */
  computed: {
    /**
     * 有无编辑
     */
    hasEdit() {
      const { data, map_info } = this
      return map_info.id && data.id === map_info.areaId
    },

    /**
     * 有无删除
     */
    hasDel() {
      return false
    },
  },
}
</script>

<style lang="scss">
@import './index.scss';
</style>
